package demo28;

/**
 * 这种代码中的一个缺点是该类加载的时候就会直接new 一个静态对象出来，当系统中这样的类较多时，会使得启动速度变慢 。现在流行的设计都是讲“延迟加载”，我们可以在第一次使用的时候才初始化第一个该类对象。所以这种适合在小系统。
 */
public class Singleton1 {
    private static Singleton1 sin = new Singleton1();    ///直接初始化一个实例对象

    private Singleton1() {    ///private类型的构造函数，保证其他类对象不能直接new一个该对象的实例
    }

    public static Singleton1 getSin() {    ///该类唯一的一个public方法
        return sin;
    }

    public static void main(String[] args) {
        Runnable runnable = () -> System.out.println(Singleton1.getSin());
        new Thread(runnable,"t1").start();
        new Thread(runnable,"t2").start();
    }
}